﻿using System.Data.Entity.ModelConfiguration;
using CodeSaude.Domain.Entities;
using System.ComponentModel.DataAnnotations.Schema;

namespace CodeSaude.Infrastructure.Data.EntityConfig
{
    public class LocalEspecialidadeMap : EntityTypeConfiguration<LocalEspecialidade>
    {
        public LocalEspecialidadeMap()
        {
            // Primary Key
            HasKey(t => t.LocalEspecialidadeId);

            Property(t => t.LocalEspecialidadeId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

            // Properties
            // Table & Column Mappings
            ToTable("local_especialidade");
            Property(t => t.LocalEspecialidadeId).HasColumnName("identificador");
            Property(t => t.IdLocal).HasColumnName("id_local");
            Property(t => t.IdEspecialidade).HasColumnName("id_especialidade");

            // Relationships
            HasRequired(t => t.Especialidade)
                .WithMany(t => t.ListaLocalEspecialidade)
                .HasForeignKey(d => d.IdEspecialidade);

            HasRequired(t => t.LocalAtendimento)
                .WithMany(t => t.ListaLocalEspecialidade)
                .HasForeignKey(d => d.IdLocal);

        }
    }
}
